
import '../config/app_url_address.dart';

class ImageUrlUtil {
  /// 判断是否是完整的图片链接
  /// 如果包含 http 或 https 则直接返回
  /// 否则拼接 CDN 域名
  static String getImageUrl(String? imagePath) {
    if (imagePath == null || imagePath.isEmpty) {
      return '';
    }

    // 去除首尾空格
    String trimmedPath = imagePath.trim();

    // 检查是否已经是完整的 URL
    if (trimmedPath.startsWith('http://') || trimmedPath.startsWith('https://')) {
      return trimmedPath;
    }

    // 如果不是完整 URL，拼接 CDN 域名
    String cdnBaseUrl = cdnImageBaseUrl;

    // 确保路径不以 / 开头，避免双斜杠
    if (trimmedPath.startsWith('/')) {
      trimmedPath = trimmedPath.substring(1);
    }

    return cdnBaseUrl + trimmedPath;
  }

  /// 批量处理图片链接列表
  static List<String> getImageUrls(List<String> imagePaths) {
    return imagePaths.map((path) => getImageUrl(path)).toList();
  }

  /// 检查字符串是否是有效的图片链接
  static bool isValidImageUrl(String? url) {
    if (url == null || url.isEmpty) {
      return false;
    }

    // 检查是否是完整的 URL
    if (url.startsWith('http://') || url.startsWith('https://')) {
      return true;
    }

    // 检查是否是相对路径
    return !url.startsWith('http') && !url.startsWith('https');
  }
}